SQLite 一行SQL实现有则更新无则插入,多个条件,复杂条件 | 您所在的位置:网站首页 › gorm update执行数据库有的更新有的不更新 › SQLite 一行SQL实现有则更新无则插入,多个条件,复杂条件 |
SQLite 一行SQL实现有则更新无则插入,多个条件,复杂条件 示例代码:https://github.com/miqt/MultiProgressKV/blob/master/MultiProgressKV/src/main/java/com/miqt/multiprogresskv/DBHelper.java 例如想实现以下逻辑 if (db has name ==小明 && 身高 == 170cm) update 。。。。 else insert 。。。。可以参考以下SQL: CREATE TABLE [TABLE_NAME]( [id] INTEGER PRIMARY KEY AUTOINCREMENT, [name] TEXT NOT NULL , [attr] TEXT NOT NULL , [value] TEXT NOT NULL ); CREATE UNIQUE INDEX [TABLE_NAME] ON [TABLE_NAME]( [name], [attr]);CREATE UNIQUE INDEX [TABLE_NAME] 声明了只有name,和attr都重复才算唯一索引,这适用于类似插入一本书的场景,一本书的书名和作者只可能有一个,而单独的书名,和作者本身,可能对应很多本书。 以下语句执行,则是有则更新,无则插入的效果,以下SQL执行多次只会生成一行结果,而修改name,或者attr任意一个列,则又会新插入一个。 REPLACE INTO TABLE_NAME ( name , attr , value ) VALUES ( '《西游记》' , '作者' , '吴承恩' ) ; |
CopyRight 2018-2019 实验室设备网 版权所有 |